[INFO] cloning repository https://github.com/peaktwilight/foxguard
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peaktwilight/foxguard" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaktwilight%2Ffoxguard", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaktwilight%2Ffoxguard'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 981de86e77d2bea1619759be9f2ee93d2e9747c6
[INFO] testing peaktwilight/foxguard against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeaktwilight%2Ffoxguard" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/peaktwilight/foxguard
[INFO] finished tweaking git repo https://github.com/peaktwilight/foxguard
[INFO] tweaked toml for git repo https://github.com/peaktwilight/foxguard written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/peaktwilight/foxguard on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/peaktwilight/foxguard already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 118a061baa0d09549d67a65a4c2a3dc6806ca312741cbefec355f07b81f3b05c
[INFO] running `Command { std: "docker" "start" "-a" "118a061baa0d09549d67a65a4c2a3dc6806ca312741cbefec355f07b81f3b05c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "118a061baa0d09549d67a65a4c2a3dc6806ca312741cbefec355f07b81f3b05c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "118a061baa0d09549d67a65a4c2a3dc6806ca312741cbefec355f07b81f3b05c", kill_on_drop: false }`
[INFO] [stdout] 118a061baa0d09549d67a65a4c2a3dc6806ca312741cbefec355f07b81f3b05c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ad97e7a3b884f1967d530087540986ec1fadf11b89ee97cb5774fa7e96ce2ae
[INFO] running `Command { std: "docker" "start" "-a" "2ad97e7a3b884f1967d530087540986ec1fadf11b89ee97cb5774fa7e96ce2ae", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling tree-sitter-c-sharp v0.23.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling tree-sitter-php v0.24.2
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-swift v0.7.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling tree-sitter-bash v0.23.3
[INFO] [stderr]    Compiling tree-sitter-kotlin-sg v0.4.0
[INFO] [stderr]    Compiling tree-sitter-ruby v0.23.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling foxguard v0.7.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "2ad97e7a3b884f1967d530087540986ec1fadf11b89ee97cb5774fa7e96ce2ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ad97e7a3b884f1967d530087540986ec1fadf11b89ee97cb5774fa7e96ce2ae", kill_on_drop: false }`
[INFO] [stdout] 2ad97e7a3b884f1967d530087540986ec1fadf11b89ee97cb5774fa7e96ce2ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fccd75a3de73541346dc958dc9ca0f2c85e3bfefc1955d79ded2242173d16555
[INFO] running `Command { std: "docker" "start" "-a" "fccd75a3de73541346dc958dc9ca0f2c85e3bfefc1955d79ded2242173d16555", kill_on_drop: false }`
[INFO] [stderr]    Compiling foxguard v0.7.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.94s
[INFO] running `Command { std: "docker" "inspect" "fccd75a3de73541346dc958dc9ca0f2c85e3bfefc1955d79ded2242173d16555", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fccd75a3de73541346dc958dc9ca0f2c85e3bfefc1955d79ded2242173d16555", kill_on_drop: false }`
[INFO] [stdout] fccd75a3de73541346dc958dc9ca0f2c85e3bfefc1955d79ded2242173d16555
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d53d1af572bf0be49e63d0bd35da50746e81c17073016b63510eeba01e329ec6
[INFO] running `Command { std: "docker" "start" "-a" "d53d1af572bf0be49e63d0bd35da50746e81c17073016b63510eeba01e329ec6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/foxguard-c0d433e3c2904b84)
[INFO] [stdout] 
[INFO] [stdout] running 413 tests
[INFO] [stdout] test baseline::tests::legacy_finding_json_without_confidence_field_deserializes_with_default ... ok
[INFO] [stdout] test compliance::tests::annotate_preserves_existing_deadline_if_set ... ok
[INFO] [stdout] test compliance::tests::annotate_uses_registry_not_substring_matching ... ok
[INFO] [stdout] test compliance::tests::deadlines_are_sourced_strings ... ok
[INFO] [stdout] test compliance::tests::every_registered_rule_with_deadline_uses_a_documented_class ... ok
[INFO] [stdout] test compliance::tests::deadline_lookup_returns_expected_class_for_known_rule ... ok
[INFO] [stdout] test compliance::tests::migration_level_display_is_stable ... ok
[INFO] [stdout] test compliance::tests::migration_report_empty_findings_is_clean ... ok
[INFO] [stdout] test compliance::tests::migration_report_all_pq_safe_is_clean ... ok
[INFO] [stdout] test config::tests::load_for_scan_allows_paths_within_scan_root_for_nested_explicit_config ... ok
[INFO] [stdout] test config::tests::load_for_scan_defaults_min_confidence_to_none ... ok
[INFO] [stdout] test baseline::tests::append_finding_to_baseline_adds_new_entry_once ... ok
[INFO] [stdout] test config::tests::load_for_scan_defaults_enable_and_disable_rules_to_empty ... ok
[INFO] [stdout] test config::tests::load_for_scan_parses_min_confidence ... ok
[INFO] [stdout] test config::tests::load_for_scan_rejects_absolute_paths_outside_project_root ... ok
[INFO] [stdout] test config::tests::load_for_scan_parses_enable_and_disable_rules ... ok
[INFO] [stdout] test config::tests::add_disabled_rule_appends_to_disable_rules ... ok
[INFO] [stdout] test compliance::tests::migration_report_tallies_per_deadline ... ok
[INFO] [stdout] test config::tests::add_severity_override_creates_config_and_records_previous ... ok
[INFO] [stdout] test config::tests::is_rule_disabled_in_config_reports_membership ... ok
[INFO] [stdout] test config::tests::is_rule_disabled_in_config_returns_false_when_no_config ... ok
[INFO] [stdout] test config::tests::current_severity_override_reads_existing_value ... ok
[INFO] [stdout] test config::tests::add_severity_override_is_noop_when_value_unchanged ... ok
[INFO] [stdout] test config::tests::add_scan_ignore_rule_creates_or_updates_config ... ok
[INFO] [stdout] test config::tests::load_for_scan_parses_scan_ignore_rules ... ok
[INFO] [stdout] test config::tests::load_for_scan_rejects_parent_traversal_in_config_paths ... ok
[INFO] [stdout] test config::tests::severity_overrides_empty_when_absent ... ok
[INFO] [stdout] test config::tests::severity_overrides_interact_with_min_filter ... ok
[INFO] [stdout] test config::tests::add_secrets_ignored_rule_creates_or_updates_config ... ok
[INFO] [stdout] test config::tests::rule_options_defaults_to_empty ... ok
[INFO] [stdout] test config::tests::thresholds_reject_out_of_range_min_entropy ... ok
[INFO] [stdout] test config::tests::severity_overrides_warn_on_unknown_rule_ids ... ok
[INFO] [stdout] test config::tests::apply_scan_thresholds_installs_and_resets_min_length_override ... ok
[INFO] [stdout] test diff::tests::test_diff_findings_all_new ... ok
[INFO] [stdout] test config::tests::load_for_scan_rejects_symlink_escapes ... ok
[INFO] [stdout] test config::tests::rule_options_round_trip ... ok
[INFO] [stdout] test config::tests::severity_overrides_single_rule ... ok
[INFO] [stdout] test config::tests::severity_overrides_multiple_rules ... ok
[INFO] [stdout] test compliance::tests::deadline_lookup_returns_none_for_unknown_rule ... ok
[INFO] [stdout] test compliance::tests::migration_report_all_pq_vulnerable_is_at_risk ... ok
[INFO] [stdout] test config::tests::severity_overrides_reject_invalid_value ... ok
[INFO] [stdout] test config::tests::thresholds_reject_invalid_types ... ok
[INFO] [stdout] test diff::tests::test_diff_findings_none_new ... ok
[INFO] [stdout] test diff::tests::test_diff_findings_snippet_whitespace_tolerance ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_not_python ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_not_ruby ... ok
[INFO] [stdout] test diff::tests::test_diff_findings_new_only ... ok
[INFO] [stdout] test engine::scanner::tests::path_exclude_matcher_matches_prefixes_recursively ... ok
[INFO] [stdout] test config::tests::thresholds_parse_secrets_min_entropy ... ok
[INFO] [stdout] test engine::scanner::tests::path_exclude_matcher_matches_globs ... ok
[INFO] [stdout] test fix::command_injection::tests::test_fix_python_os_system ... ok
[INFO] [stdout] test config::tests::thresholds_parse_taint_max_hops ... ok
[INFO] [stdout] test config::tests::thresholds_reject_zero_taint_max_hops ... ok
[INFO] [stdout] test config::tests::thresholds_parse_secrets_min_length ... ok
[INFO] [stdout] test fix::sql_injection::tests::test_fix_js_concat ... ok
[INFO] [stdout] test config::tests::thresholds_reject_zero_secrets_min_length ... ok
[INFO] [stdout] test fix::sql_injection::tests::test_fix_js_template ... ok
[INFO] [stdout] test config::tests::thresholds_default_empty_when_absent ... ok
[INFO] [stdout] test fix::command_injection::tests::test_fix_js_exec ... ok
[INFO] [stdout] test fix::sql_injection::tests::test_fix_go_concat ... ok
[INFO] [stdout] test fix::tests::test_apply_edits_overlapping_skipped ... ok
[INFO] [stdout] test fix::sql_injection::tests::test_fix_python_concat ... ok
[INFO] [stdout] test fix::tests::test_apply_edits_single ... ok
[INFO] [stdout] test report::cbom::tests::cbom_groups_by_algorithm ... ok
[INFO] [stdout] test fix::sql_injection::tests::test_fix_python_fstring ... ok
[INFO] [stdout] test report::cbom::tests::cbom_empty_without_crypto_findings ... ok
[INFO] [stdout] test report::cbom::tests::deterministic_uuid_changes_with_input ... ok
[INFO] [stdout] test report::github_pr::tests::test_format_comment_body_includes_severity_and_rule ... ok
[INFO] [stdout] test report::github_pr::tests::test_format_comment_body_no_fix ... ok
[INFO] [stdout] test report::github_pr::tests::test_post_pr_review_skips_empty_findings ... ok
[INFO] [stdout] test fix::xss::tests::test_fix_innerhtml_assignment ... ok
[INFO] [stdout] test report::github_pr::tests::test_relative_path_already_relative ... ok
[INFO] [stdout] test report::github_pr::tests::test_format_comment_body_no_cwe ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_go ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_with_rule_id ... ok
[INFO] [stdout] test report::cbom::tests::iso8601_format_is_valid ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_java ... ok
[INFO] [stdout] test engine::scanner::tests::block_comment_ignore_js ... ok
[INFO] [stdout] test report::cbom::tests::deterministic_uuid_is_stable ... ok
[INFO] [stdout] test fix::tests::test_apply_edits_multiple_reverse_order ... ok
[INFO] [stdout] test fix::xss::tests::test_no_double_wrap ... ok
[INFO] [stdout] test report::github_pr::tests::test_post_pr_review_skips_when_no_token ... ok
[INFO] [stdout] test report::github_pr::tests::test_relative_path_strips_dot_slash ... ok
[INFO] [stdout] test report::github_pr::tests::test_relative_path_strips_leading_slash ... ok
[INFO] [stdout] test report::github_pr::tests::test_severity_labels ... ok
[INFO] [stdout] test rules::common::tests::confidence_for_hops_curve_matches_documented_values ... ok
[INFO] [stdout] test report::cbom::tests::cbom_serialization_shape_is_valid ... ok
[INFO] [stdout] test fix::xss::tests::test_fix_document_write ... ok
[INFO] [stdout] test rules::common::tests::get_source_line_empty_source ... ok
[INFO] [stdout] test rules::common::tests::get_source_line_basic ... ok
[INFO] [stdout] test rules::common::tests::get_source_line_out_of_bounds ... ok
[INFO] [stdout] test rules::go_taint::tests::alias_resolution_through_import_table ... ok
[INFO] [stdout] test rules::go_taint::tests::chi_url_param_to_exec ... ok
[INFO] [stdout] test rules::go_taint::tests::closure_gin_handler_fires_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::fiber_ctx_body_to_exec ... ok
[INFO] [stdout] test rules::go_taint::tests::closure_net_http_handler_fires_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::echo_context_query_param_to_exec ... ok
[INFO] [stdout] test rules::go_taint::tests::direct_flow_gin_query_to_exec_command ... ok
[INFO] [stdout] test rules::go_taint::tests::fiber_ctx_params_to_exec ... ok
[INFO] [stdout] test rules::go_taint::tests::fmt_sprintf_wraps_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::fiber_ctx_query_to_exec ... ok
[INFO] [stdout] test rules::go_taint::tests::import_alias_table_basic ... ok
[INFO] [stdout] test rules::go_taint::tests::reassignment_to_literal_kills_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::no_source_no_finding ... ok
[INFO] [stdout] test rules::go_taint::tests::interprocedural_clean_return_does_not_fire ... ok
[INFO] [stdout] test rules::javascript_taint::tests::alias_import_star_as_namespace ... ok
[INFO] [stdout] test rules::javascript_taint::tests::alias_chain_propagates ... ok
[INFO] [stdout] test rules::go_taint::tests::sanitizer_call_kills_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::multi_return_destructuring_taints_all ... ok
[INFO] [stdout] test rules::go_taint::tests::method_call_on_tainted_receiver_propagates ... ok
[INFO] [stdout] test rules::go_taint::tests::interprocedural_tainted_return ... ok
[INFO] [stdout] test rules::go_taint::tests::type_assertion_propagates_taint ... ok
[INFO] [stdout] test rules::go_taint::tests::net_http_form_value_to_exec ... ok
[INFO] [stdout] test rules::javascript_taint::tests::alias_resolution_through_import_table ... ok
[INFO] [stdout] test rules::go_taint::tests::method_declaration_summary_collected ... ok
[INFO] [stdout] test rules::go_taint::tests::nested_subscript_propagates ... ok
[INFO] [stdout] test rules::go_taint::tests::os_getenv_to_exec ... ok
[INFO] [stdout] test rules::javascript_taint::tests::express_param_source_via_field_access ... ok
[INFO] [stdout] test rules::javascript_taint::tests::chained_method_calls_preserve_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::express_param_source_is_implicit ... ok
[INFO] [stdout] test rules::go_taint::tests::string_concat_propagates_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::export_default_anonymous_function_produces_summary ... ok
[INFO] [stdout] test rules::javascript_taint::tests::export_default_arrow_function_produces_summary ... ok
[INFO] [stdout] test rules::javascript_taint::tests::export_default_named_function_produces_summary ... ok
[INFO] [stdout] test rules::javascript_taint::tests::cross_file_summary_extraction_finds_exported_functions ... ok
[INFO] [stdout] test rules::javascript_taint::tests::direct_flow_req_body_to_innerhtml ... ok
[INFO] [stdout] test rules::javascript_taint::tests::interprocedural_late_definition_still_found ... ok
[INFO] [stdout] test rules::javascript_taint::tests::koa_ctx_params_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::interprocedural_clean_return_does_not_fire ... ok
[INFO] [stdout] test rules::javascript_taint::tests::interprocedural_tainted_return_propagates_to_caller ... ok
[INFO] [stdout] test rules::javascript_taint::tests::interprocedural_arrow_function_block_body_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::interprocedural_arrow_function_helper_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::await_expression_propagates_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::import_default_cross_file_finding ... ok
[INFO] [stdout] test rules::javascript_taint::tests::koa_ctx_headers_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::koa_ctx_query_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::koa_ctx_param_name_taints_bare_ctx ... ok
[INFO] [stdout] test rules::javascript_taint::tests::arrow_function_body_is_analyzed ... ok
[INFO] [stdout] test rules::javascript_taint::tests::koa_ctx_request_body_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ldap_no_finding_for_function_bind ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ldap_search_from_req_body ... ok
[INFO] [stdout] test rules::javascript_taint::tests::nestjs_headers_param_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ldap_no_finding_when_static_filter ... ok
[INFO] [stdout] test rules::javascript_taint::tests::method_call_on_tainted_source_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ldap_no_finding_for_string_search ... ok
[INFO] [stdout] test rules::javascript_taint::tests::multi_hop_chain_is_out_of_scope_v1 ... ok
[INFO] [stdout] test rules::javascript_taint::tests::method_call_with_args_still_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::named_import_with_alias_resolves ... ok
[INFO] [stdout] test rules::common::tests::csharp_pattern_is_superset_of_base ... ok
[INFO] [stdout] test rules::javascript_taint::tests::nested_function_has_independent_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::nestjs_body_param_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::nestjs_params_param_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::one_hop_assignment_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::nestjs_query_param_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ssti_no_finding_when_static_template ... ok
[INFO] [stdout] test rules::javascript_taint::tests::xpath_no_finding_when_static_expression ... ok
[INFO] [stdout] test rules::javascript_taint::tests::string_concat_propagates_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::subscript_on_tainted_root_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::require_default_binding_resolves ... ok
[INFO] [stdout] test rules::javascript_taint::tests::template_literal_propagates_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::sanitizer_call_kills_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ternary_clean_both_branches_is_clean ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ssti_ejs_render_from_req_body ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ternary_tainted_alternative_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::ternary_tainted_consequence_propagates ... ok
[INFO] [stdout] test rules::javascript_taint::tests::to_string_on_tainted_value_is_tainted ... ok
[INFO] [stdout] test rules::javascript_taint::tests::reassignment_to_literal_kills_taint ... ok
[INFO] [stdout] test rules::javascript_taint::tests::no_source_no_finding ... ok
[INFO] [stdout] test rules::kotlin::tests::command_injection_process_builder ... ok
[INFO] [stdout] test rules::kotlin::tests::path_traversal_clean_literal ... ok
[INFO] [stdout] test rules::kotlin::tests::command_injection_clean_literal ... ok
[INFO] [stdout] test rules::kotlin::tests::command_injection_runtime_exec ... ok
[INFO] [stdout] test rules::kotlin::tests::ssrf_url_variable ... ok
[INFO] [stdout] test rules::kotlin::tests::ssrf_clean_literal ... ok
[INFO] [stdout] test rules::javascript_taint::tests::xpath_select_from_req_query ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_command_injection_process_builder ... ok
[INFO] [stdout] test rules::kotlin::tests::eval_clean_literal ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_command_injection_clean ... ok
[INFO] [stdout] test rules::kotlin::tests::sql_injection_clean_parameterized ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_command_injection_ktor ... ok
[INFO] [stdout] test rules::kotlin::tests::path_traversal_file_variable ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_sql_injection_spring_param ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_ssrf_clean_literal ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_ssrf_ktor_url ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_sql_injection_ktor_receive ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_sql_injection_string_template ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_sql_injection_clean_parameterized ... ok
[INFO] [stdout] test rules::kotlin::tests::cors_clean ... ok
[INFO] [stdout] test rules::kotlin::tests::cors_star_allowed_origins ... ok
[INFO] [stdout] test rules::kotlin::tests::eval_script_engine ... ok
[INFO] [stdout] test rules::kotlin::tests::sql_injection_string_concat ... ok
[INFO] [stdout] test rules::kotlin::tests::unsafe_deserialization_read_object ... ok
[INFO] [stdout] test rules::kotlin::tests::hardcoded_secret_val ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_ssrf_spring_http_client ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_invalid_toml_returns_empty ... ok
[INFO] [stdout] test rules::kotlin::tests::cors_star_header ... ok
[INFO] [stdout] test rules::kotlin::tests::weak_crypto_des ... ok
[INFO] [stdout] test rules::kotlin::tests::weak_crypto_clean_aes ... ok
[INFO] [stdout] test rules::kotlin::tests::weak_crypto_md5 ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_bfs_stops_at_seed_no_traversal_through ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_direct_seed_dep_flagged ... ok
[INFO] [stdout] test rules::kotlin::tests::hardcoded_secret_clean ... ok
[INFO] [stdout] test rules::manifest::tests::extract_pip_name_simple ... ok
[INFO] [stdout] test rules::manifest::tests::extract_pip_name_with_dots_and_underscores ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_transitive_dep_flagged ... ok
[INFO] [stdout] test rules::kotlin::tests::xxe_clean ... ok
[INFO] [stdout] test rules::kotlin::tests::xxe_insecure ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_multi_version_diamond ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_k256_seed_flagged ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_no_findings_for_clean_lockfile ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_seed_crate_itself_not_flagged ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_tier1_beats_tier2_confidence ... ok
[INFO] [stdout] test rules::kotlin::tests::unsafe_deserialization_clean ... ok
[INFO] [stdout] test rules::manifest::tests::extract_pip_name_with_version ... ok
[INFO] [stdout] test rules::manifest::tests::cargo_version_qualified_dep_string ... ok
[INFO] [stdout] test rules::kotlin::tests::taint_ssrf_transitive_flow ... ok
[INFO] [stdout] test rules::manifest::tests::extract_pip_name_with_extras ... ok
[INFO] [stdout] test rules::manifest::tests::offset_disambiguates_duplicate_crate_names ... ok
[INFO] [stdout] test rules::manifest::tests::offset_handles_crlf ... ok
[INFO] [stdout] test rules::manifest::tests::offset_finds_exact_pair ... ok
[INFO] [stdout] test rules::manifest::tests::offset_returns_none_when_version_doesnt_follow ... ok
[INFO] [stdout] test rules::manifest::tests::offset_returns_none_when_missing ... ok
[INFO] [stdout] test rules::manifest::tests::pip_detects_known_packages ... ok
[INFO] [stdout] test rules::manifest::tests::pip_fabric_no_algorithm ... ok
[INFO] [stdout] test rules::manifest::tests::pip_empty_input_returns_empty ... ok
[INFO] [stdout] test rules::manifest::tests::pip_high_confidence_has_algorithm ... ok
[INFO] [stdout] test rules::manifest::tests::pip_crlf_offsets_correct ... ok
[INFO] [stdout] test rules::manifest::tests::pip_pep503_normalization ... ok
[INFO] [stdout] test rules::manifest::tests::pip_strips_environment_markers ... ok
[INFO] [stdout] test rules::manifest::tests::pip_jwt_lib_flagged ... ok
[INFO] [stdout] test rules::manifest::tests::pip_strips_extras ... ok
[INFO] [stdout] test rules::manifest::tests::pip_kitchen_sink_has_fix_suggestion ... ok
[INFO] [stdout] test rules::python_aliases::tests::cpickle_shadowing_pickle_resolves_to_cpickle ... ok
[INFO] [stdout] test rules::python_aliases::tests::dotted_module_import ... ok
[INFO] [stdout] test rules::python_aliases::tests::aliased_import_resolves_alias_to_module ... ok
[INFO] [stdout] test rules::python_aliases::tests::plain_import_maps_root_to_itself ... ok
[INFO] [stdout] test rules::python_aliases::tests::multiple_imports_combine ... ok
[INFO] [stdout] test rules::python_aliases::tests::from_import_with_alias_resolves_alias ... ok
[INFO] [stdout] test rules::python_taint::tests::alias_resolution_through_import_table ... ok
[INFO] [stdout] test rules::manifest::tests::pip_skips_comments_and_options ... ok
[INFO] [stdout] test rules::python_aliases::tests::empty_source_produces_empty_table ... ok
[INFO] [stdout] test rules::python_aliases::tests::from_import_resolves_bare_name_to_dotted_path ... ok
[INFO] [stdout] test rules::python_aliases::tests::from_import_with_alias_raw_map_stores_canonical ... ok
[INFO] [stdout] test rules::python_taint::tests::bottle_request_query_is_tainted ... ok
[INFO] [stdout] test rules::python_aliases::tests::dotted_module_import_with_alias ... ok
[INFO] [stdout] test rules::python_aliases::tests::from_import_multiple_names ... ok
[INFO] [stdout] test rules::python_aliases::tests::unknown_identifier_passes_through_unchanged ... ok
[INFO] [stdout] test rules::python_taint::tests::bottle_request_params_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::bottle_request_forms_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::chained_assignment_propagates_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::conditional_expression_tainted_body_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::conditional_expression_clean_both_branches_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::chained_method_calls_preserve_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::direct_in_function_flow_is_tagged_one_hop ... ok
[INFO] [stdout] test rules::python_taint::tests::conditional_expression_tainted_alternative_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::dict_comprehension_tainted_values_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::direct_flow_request_data_to_pickle_loads ... ok
[INFO] [stdout] test rules::python_taint::tests::direct_source_as_sink_argument_without_intermediate ... ok
[INFO] [stdout] test rules::python_taint::tests::chained_string_concat_with_tainted_operand_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::dot_format_with_clean_arguments_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::function_parameter_named_request_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::fstring_with_literal_only_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::fstring_with_tainted_interpolation_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::dot_format_with_tainted_argument_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::integer_arithmetic_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::generator_expression_tainted_iterable_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::interprocedural_late_definition_still_found ... ok
[INFO] [stdout] test rules::python_taint::tests::interprocedural_direct_call_as_sink_argument ... ok
[INFO] [stdout] test rules::python_taint::tests::list_comprehension_tainted_iterable_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::list_comprehension_clean_iterable_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::list_unpack_similar_to_tuple_unpack ... ok
[INFO] [stdout] test rules::python_taint::tests::fstring_with_tainted_mixed_with_literals_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::list_comprehension_method_call_on_tainted_elements ... ok
[INFO] [stdout] test rules::python_taint::tests::method_call_on_literal_root_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::interprocedural_clean_return_does_not_fire ... ok
[INFO] [stdout] test rules::python_taint::tests::interprocedural_tainted_return_propagates_to_caller ... ok
[INFO] [stdout] test rules::python_taint::tests::method_call_on_tainted_source_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::method_call_on_tainted_subscript_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::multi_hop_chain_is_out_of_scope_v1 ... ok
[INFO] [stdout] test rules::python_taint::tests::method_call_with_args_still_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::multiple_sanitizers_in_spec ... ok
[INFO] [stdout] test rules::python_taint::tests::nested_function_has_independent_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::nested_subscript_propagates_through_chain ... ok
[INFO] [stdout] test rules::python_taint::tests::no_source_no_finding ... ok
[INFO] [stdout] test rules::python_taint::tests::percent_format_with_tainted_operand_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::reassignment_to_literal_kills_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::sanitizer_call_kills_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::sanitizer_result_assigned_to_new_variable ... ok
[INFO] [stdout] test rules::python_taint::tests::percent_format_tuple_with_tainted_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::set_comprehension_tainted_iterable_propagates ... ok
[INFO] [stdout] test rules::python_taint::tests::source_call_get_json_flows_to_sink ... ok
[INFO] [stdout] test rules::python_taint::tests::string_concat_with_both_literal_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::sanitizer_bypassed_still_flows ... ok
[INFO] [stdout] test rules::python_taint::tests::non_sanitizer_wrapping_call_preserves_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::string_concat_with_tainted_left_operand_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::percent_format_with_clean_operand_is_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::string_concat_with_tainted_right_operand_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::subscript_on_tainted_root_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::taint_survives_branch_over_approximation ... ok
[INFO] [stdout] test rules::python_taint::tests::tornado_get_argument_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::tornado_get_body_argument_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::tornado_get_query_argument_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::tornado_request_body_is_tainted ... ok
[INFO] [stdout] test rules::python_taint::tests::tuple_unpack_literal_rhs_leaves_clean_element_clean ... ok
[INFO] [stdout] test rules::python_taint::tests::tuple_unpack_literal_rhs_taints_matching_element ... ok
[INFO] [stdout] test rules::python_taint::tests::walrus_operator_propagates_taint ... ok
[INFO] [stdout] test rules::python_taint::tests::tuple_unpack_tainted_rhs_conservatively_taints_all_targets ... ok
[INFO] [stdout] test rules::python_taint::tests::with_statement_clean_context_does_not_taint_alias ... ok
[INFO] [stdout] test rules::python_taint::tests::with_statement_tainted_context_propagates_to_alias ... ok
[INFO] [stdout] test rules::python_taint::tests::wrapping_call_preserves_taint ... ok
[INFO] [stdout] test rules::ruby::tests::debug_open_url_tree ... ok
[INFO] [stdout] test rules::ruby::tests::test_command_injection_fires_on_interpolated_string ... ok
[INFO] [stdout] test rules::ruby::tests::test_command_injection_fires_on_variable ... ok
[INFO] [stdout] test rules::ruby::tests::test_command_injection_skips_plain_string_literal ... ok
[INFO] [stdout] test rules::ruby::tests::test_path_traversal_detects_all_patterns ... ok
[INFO] [stdout] test rules::ruby::tests::test_command_injection_skips_exec_with_literal ... ok
[INFO] [stdout] test rules::ruby::tests::test_ssrf_detects_all_patterns ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::semgrep_compat_findings_are_emitted_at_confidence_zero_point_seven ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_dedup_mapped_languages ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_match_eval_pattern ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_match_hardcoded_string ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_metavar_detection ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_match_string_concat_with_metavar ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_parse_pattern_either ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_match_pattern_regex ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_pattern_not_inside_excludes_nested_matches ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_call_with_ellipsis ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_nested_attribute_takes_leftmost_root_and_outermost_field ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_call_with_metavar ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_parse_simple_rule ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::non_taint_rule_falls_through ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::bare_identifier_rejected_as_sink ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_bare_identifier_source ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::parse_full_taint_rule ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::mixed_pattern_and_pattern_either_work_together ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_attribute_source ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::pattern_either_flattens_into_multiple_matchers ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::empty_pattern_either_warns_and_produces_no_matcher ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::pattern_either_in_sanitizers_flattens ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::taint_rule_with_typescript_language_compiles_as_javascript ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::taint_rule_with_javascript_language_compiles ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_both_intersects_then_subtracts ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::unknown_composite_still_rejected ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::nested_pattern_either_flattens_recursively ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_metavariable_regex_filters_bound_matches ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::compile_bare_func_call ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::taint_rule_with_unsupported_language_is_skipped ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_reports_unknown_rule_ids ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::pattern_either_in_sinks_flattens ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_denylist_removes_listed_ids ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_strips_opt_in_when_both_lists_empty ... ok
[INFO] [stdout] test rules::tests::configure_rules_empty_options_is_no_op ... ok
[INFO] [stdout] test rules::tests::configure_rules_no_warning_for_known_rule ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_allowlist_keeps_only_listed_ids ... ok
[INFO] [stdout] test rules::semgrep_compat::tests::test_pattern_not_regex_filters_matches ... ok
[INFO] [stdout] test secrets::tests::redact_match_mid_codepoint_start ... ok
[INFO] [stdout] test tui::tests::available_open_focuses_include_source_and_sink_when_present ... ok
[INFO] [stdout] test tui::tests::apply_action_review_state_is_session_only ... ok
[INFO] [stdout] test tui::tests::begin_scan_resets_runtime_notices_and_updates_request_id ... ok
[INFO] [stdout] test tui::tests::cnsa2_deadline_chip_renders_padded_year_with_amber_background ... ok
[INFO] [stdout] test tui::tests::compare_findings_prioritizes_higher_severity ... ok
[INFO] [stdout] test tui::tests::compliance_panel_empty_state_when_no_cnsa_findings ... ok
[INFO] [stdout] test tui::tests::compliance_panel_shows_badge_and_per_year_tallies ... ok
[INFO] [stdout] test tui::tests::confidence_badge_renders_for_partial_confidence ... ok
[INFO] [stdout] test tui::tests::confidence_sort_places_high_confidence_before_low_regardless_of_severity ... ok
[INFO] [stdout] test tui::tests::crypto_algorithm_chip_renders_padded_name_with_magenta_background ... ok
[INFO] [stdout] test tui::tests::cycle_open_focus_advances_through_available_targets ... ok
[INFO] [stdout] test tui::tests::cycle_sort_mode_toggles_between_severity_and_confidence ... ok
[INFO] [stdout] test tui::tests::cycle_session_min_confidence_advances_through_presets ... ok
[INFO] [stdout] test tui::tests::dataflow_lines_show_fallback_when_no_trace_exists ... ok
[INFO] [stdout] test tui::tests::dataflow_lines_render_path_when_source_and_sink_are_present ... ok
[INFO] [stdout] test tui::tests::dataflow_lines_highlight_active_open_target ... ok
[INFO] [stdout] test tui::tests::apply_action_lower_severity_writes_override_and_replaces ... ok
[INFO] [stdout] test tui::tests::compliance_panel_defaults_off ... ok
[INFO] [stdout] test tui::tests::compliance_panel_hidden_outside_pqc_mode ... ok
[INFO] [stdout] test tui::tests::export_menu_noop_without_results ... ok
[INFO] [stdout] test tui::tests::export_menu_opens_when_results_exist ... ok
[INFO] [stdout] test tui::tests::finding_list_index_at_position_maps_two_line_rows ... ok
[INFO] [stdout] test tui::tests::finding_list_index_at_position_rejects_outside_content ... ok
[INFO] [stdout] test tui::tests::handle_key_maps_enter_to_open_selected ... ok
[INFO] [stdout] test tui::tests::detail_text_renders_crypto_algorithm_and_cnsa2_deadline_lines ... ok
[INFO] [stdout] test tui::tests::handle_key_maps_tab_to_cycle_open_focus ... ok
[INFO] [stdout] test tui::tests::detail_text_omits_crypto_lines_when_both_fields_absent ... ok
[INFO] [stdout] test tui::tests::launch_key_enter_starts_selected_mode ... ok
[INFO] [stdout] test tui::tests::open_action_menu_in_scan_mode_exposes_new_triage_actions ... ok
[INFO] [stdout] test tui::tests::list_item_omits_crypto_chip_when_none ... ok
[INFO] [stdout] test tui::tests::loading_copy_uses_selected_launch_mode ... ok
[INFO] [stdout] test tui::tests::handle_action_menu_enter_applies_selected_action ... ok
[INFO] [stdout] test tui::tests::handle_key_binds_c_to_confidence_and_shift_c_to_sort ... ok
[INFO] [stdout] test tui::tests::export_writes_cbom_file ... ok
[INFO] [stdout] test tui::tests::open_action_menu_is_available_in_scan_mode ... ok
[INFO] [stdout] test tui::tests::open_action_menu_is_available_in_secrets_mode ... ok
[INFO] [stdout] test tui::tests::open_target_lines_show_finding_even_without_trace_details ... ok
[INFO] [stdout] test tui::tests::open_command_spec_uses_vim_line_format ... ok
[INFO] [stdout] test tui::tests::render_source_context_includes_surrounding_lines_and_caret ... ok
[INFO] [stdout] test tui::tests::resolve_finding_path_keeps_parent_relative_paths ... ok
[INFO] [stdout] test tui::tests::resolve_finding_path_joins_relative_file_under_directory_root ... ok
[INFO] [stdout] test tui::tests::session_confidence_filter_hides_low_confidence_findings ... ok
[INFO] [stdout] test tui::tests::render_source_context_truncates_long_lines_around_selected_range ... ok
[INFO] [stdout] test tui::tests::truncate_text_adds_ellipsis_when_needed ... ok
[INFO] [stdout] test tui::tests::open_command_spec_uses_code_goto_format ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::taint_rule_with_go_language_compiles ... ok
[INFO] [stdout] test tui::tests::shift_n_toggles_compliance_panel ... ok
[INFO] [stdout] test tui::tests::loading_shimmer_line_respects_requested_width ... ok
[INFO] [stdout] test rules::semgrep_taint::tests::weird_shapes_rejected ... ok
[INFO] [stdout] test tui::tests::tui_app_starts_on_launch_screen_without_scanning ... ok
[INFO] [stdout] test tui::tests::render_source_context_marks_each_line_of_multiline_findings ... ok
[INFO] [stdout] test rules::tests::apply_rule_filter_deduplicates_unknown_ids ... ok
[INFO] [stdout] test tui::tests::resolve_finding_path_uses_parent_for_file_roots ... ok
[INFO] [stdout] test rules::tests::configure_rules_warns_on_unknown_rule_id ... ok
[INFO] [stdout] test secrets::tests::redact_match_mid_codepoint_end ... ok
[INFO] [stdout] test tui::tests::apply_action_disable_rule_globally_appends_and_detects_duplicate ... ok
[INFO] [stdout] test tui::tests::confidence_badge_is_hidden_at_full_confidence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 413 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/foxguard-b5e5b6352324f65e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/foxguard_mcp.rs (/opt/rustwide/target/debug/deps/foxguard_mcp-2816e496d2c293ca)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/gen_rules_ts.rs (/opt/rustwide/target/debug/deps/gen_rules_ts-93f4bcef729dd1d1)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cnsa2_compliance.rs (/opt/rustwide/target/debug/deps/cnsa2_compliance-82887c4ce013476d)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test non_pq_rules_do_not_declare_a_cnsa2_deadline ... ok
[INFO] [stdout] test every_declared_pq_rule_reports_a_cnsa2_deadline ... ok
[INFO] [stdout] test sarif_includes_dep_name_in_properties ... ok
[INFO] [stdout] test cnsa2_flag_off_does_not_mention_cnsa_in_terminal ... ok
[INFO] [stdout] test cnsa2_flag_on_adds_deadline_annotation_and_summary ... ok
[INFO] [stdout] test pq_fixture_emits_cnsa2_deadline_in_json ... ok
[INFO] [stdout] test sarif_always_includes_cnsa2_deadline_in_properties ... ok
[INFO] [stdout] test non_pq_findings_in_json_have_no_cnsa2_deadline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-1cecb2a1587ee533)
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test config_files::detect_language_recognises_config_include_dirs ... ok
[INFO] [stdout] test config_files::detect_language_recognises_manifest_files ... ok
[INFO] [stdout] test config_files::detect_language_recognises_dockerfiles ... ok
[INFO] [stdout] test config_files::detect_language_recognises_haproxy_cfg ... ok
[INFO] [stdout] test config_files::detect_language_recognises_apache_filenames ... ok
[INFO] [stdout] test config_files::detect_language_recognises_nginx_conf ... ok
[INFO] [stdout] test config_files::requirements_txt_pq_finds_crypto_deps ... ok
[INFO] [stdout] test config_files::nginx_rule_silent_on_safe_fixture ... ok
[INFO] [stdout] test config_files::haproxy_rule_silent_on_safe_fixture ... ok
[INFO] [stdout] test config_files::apache_rule_silent_on_safe_fixture ... ok
[INFO] [stdout] test config_files::apache_rule_fires_on_vulnerable_fixture ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_go_safe ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_go_vulnerable ... ok
[INFO] [stdout] test config_files::haproxy_rule_fires_on_vulnerable_fixture ... ok
[INFO] [stdout] test crypto_agility::java_safe_crypto_agility_no_findings ... ok
[INFO] [stdout] test config_files::cargo_lock_pq_finds_transitive_rsa_dep ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_vulnerable ... ok
[INFO] [stdout] test features::test_enable_rules_allowlist_runs_only_listed_ids ... ok
[INFO] [stdout] test crypto_agility::js_safe_crypto_agility_no_findings ... ok
[INFO] [stdout] test crypto_agility::py_safe_crypto_agility_no_findings ... ok
[INFO] [stdout] test config_files::dockerfile_rule_fires_on_insecure_fixture ... ok
[INFO] [stdout] test config_files::dockerfile_rule_silent_on_safe_fixture ... ok
[INFO] [stdout] test cross_file::test_realistic_gin_app_findings ... ok
[INFO] [stdout] test csharp::test_vulnerable_csharp_finds_all_rules ... ok
[INFO] [stdout] test features::test_explain_flag_shows_trace_on_taint_findings ... ok
[INFO] [stdout] test features::test_enable_and_disable_rules_intersection_then_subtraction ... ok
[INFO] [stdout] test features::test_external_rules_respect_semgrep_paths_filters ... ok
[INFO] [stdout] test features::test_inline_ignore_remains_rule_specific ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_pattern_either_safe ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_pattern_either_vulnerable ... ok
[INFO] [stdout] test features::test_inline_ignore_suppresses_next_python_line_after_blank_lines ... ok
[INFO] [stdout] test features::test_disable_rules_denylist_removes_listed_ids ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_js_vulnerable ... ok
[INFO] [stdout] test features::test_no_builtins_without_external_rules_finds_nothing ... ok
[INFO] [stdout] test features::test_no_builtins_with_external_rules_still_finds_matches ... ok
[INFO] [stdout] test config_files::nginx_rule_fires_on_vulnerable_fixture ... ok
[INFO] [stdout] test features::test_scan_rejects_config_path_traversal ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_js_safe ... ok
[INFO] [stdout] test features::test_inline_ignore_suppresses_same_line_js_finding ... ok
[INFO] [stdout] test features::test_inline_ignore_without_rule_list_suppresses_all_findings_on_line ... ok
[INFO] [stdout] test features::test_fix_suggestion_appears_in_sarif_output ... ok
[INFO] [stdout] test features::test_explain_json_includes_trace_fields ... ok
[INFO] [stdout] test features::test_secrets_min_length_invalid_config_fails_loudly ... ok
[INFO] [stdout] test cross_file::test_semgrep_taint_yaml_bridge_safe ... ok
[INFO] [stdout] test features::test_invalid_path_exits_nonzero ... ok
[INFO] [stdout] test features::test_no_explain_flag_hides_trace ... ok
[INFO] [stdout] test features::test_inline_ignore_suppresses_multiline_finding_when_directive_is_on_end_line ... ok
[INFO] [stdout] test features::test_init_installs_hook_and_baseline ... ok
[INFO] [stdout] test features::test_scan_exclude_skips_directory_prefixes ... ok
[INFO] [stdout] test features::test_secrets_rejects_config_symlink_escape ... ok
[INFO] [stdout] test features::test_secrets_min_length_default_matches_hardcoded_four ... ok
[INFO] [stdout] test features::test_secrets_min_length_raising_drops_short_matches ... ok
[INFO] [stdout] test features::test_changed_mode_scans_only_staged_files ... ok
[INFO] [stdout] test features::test_secrets_mode_exclude_path_skips_matching_files ... ok
[INFO] [stdout] test features::test_secrets_min_length_lowering_catches_shorter_matches ... ok
[INFO] [stdout] test features::test_severity_filter_high ... ok
[INFO] [stdout] test features::test_secrets_mode_ignore_rule_skips_specific_patterns ... ok
[INFO] [stdout] test features::test_init_preserves_existing_config_and_keeps_baseline_flags_when_needed ... ok
[INFO] [stdout] test features::test_secrets_mode_uses_explicit_config_file ... ok
[INFO] [stdout] test features::test_secrets_mode_exclude_path_file_skips_matching_files ... ok
[INFO] [stdout] test go::test_safe_go_no_findings ... ok
[INFO] [stdout] test features::test_secrets_mode_redacts_snippets ... ok
[INFO] [stdout] test go::test_safe_go_taint_has_no_taint_findings ... ok
[INFO] [stdout] test features::test_secrets_mode_changed_scans_only_staged_files ... ok
[INFO] [stdout] test features::test_secrets_mode_skips_binary_files ... ok
[INFO] [stdout] test features::test_secrets_mode_finds_common_credentials ... ok
[INFO] [stdout] test features::test_scan_exclude_glob_applies_to_changed_mode ... ok
[INFO] [stdout] test features::test_write_and_apply_secrets_baseline ... ok
[INFO] [stdout] test features::test_severity_filter_critical ... ok
[INFO] [stdout] test features::test_unknown_rule_ids_warn_on_stderr_and_continue ... ok
[INFO] [stdout] test javascript::test_safe_js_taint_has_no_taint_findings ... ok
[INFO] [stdout] test javascript::test_vulnerable_hono_taint_catches_flow ... ok
[INFO] [stdout] test java::test_safe_java_no_findings ... ok
[INFO] [stdout] test javascript::test_safe_deno_taint_has_no_taint_findings ... ok
[INFO] [stdout] test go::test_vulnerable_go_finds_all_rules ... ok
[INFO] [stdout] test javascript::test_safe_js_no_findings ... ok
[INFO] [stdout] test javascript::test_safe_hono_taint_has_no_taint_findings ... ok
[INFO] [stdout] test go::test_vulnerable_go_taint_catches_every_flow ... ok
[INFO] [stdout] test java::test_vulnerable_java_finds_all_rules ... ok
[INFO] [stdout] test javascript::test_vulnerable_js_finds_all_rules ... ok
[INFO] [stdout] test javascript::test_vulnerable_nextjs_taint_catches_flow ... ok
[INFO] [stdout] test javascript::test_vulnerable_js_taint_catches_every_flow ... ok
[INFO] [stdout] test features::test_scan_uses_discovered_config_baseline ... ok
[INFO] [stdout] test pqc_help_exits_zero ... ok
[INFO] [stdout] test features::test_taint_findings_include_fix_suggestion_in_json ... ok
[INFO] [stdout] test python::test_safe_cli_taint_has_no_taint_findings ... ok
[INFO] [stdout] test pqc_on_safe_fixture_returns_zero_findings ... ok
[INFO] [stdout] test javascript::test_vulnerable_deno_taint_catches_flow ... ok
[INFO] [stdout] test python::test_vulnerable_cli_taint_catches_flows ... ok
[INFO] [stdout] test php::test_vulnerable_php_finds_all_rules ... ok
[INFO] [stdout] test python::test_vulnerable_django_taint_catches_flows ... ok
[INFO] [stdout] test features::test_write_and_apply_baseline ... ok
[INFO] [stdout] test ruby::test_safe_ruby_no_findings ... ok
[INFO] [stdout] test python::test_safe_django_taint_has_no_taint_findings ... ok
[INFO] [stdout] test python::test_safe_fastapi_taint_has_no_taint_findings ... ok
[INFO] [stdout] test python::test_safe_py_aliases_no_findings ... ok
[INFO] [stdout] test python::test_vulnerable_py_aliases_catches_all_bypass_forms ... ok
[INFO] [stdout] test rust_lang::test_vulnerable_rust_finds_all_rules ... ok
[INFO] [stdout] test python::test_vulnerable_py_finds_all_rules ... ok
[INFO] [stdout] test python::test_vulnerable_fastapi_taint_catches_flows ... ok
[INFO] [stdout] test swift::test_vulnerable_swift_finds_all_rules ... ok
[INFO] [stdout] test python::test_safe_py_taint_has_no_taint_findings ... ok
[INFO] [stdout] test ruby::test_vulnerable_ruby_finds_all_rules ... ok
[INFO] [stdout] test javascript::test_safe_nextjs_taint_has_no_taint_findings ... ok
[INFO] [stdout] test python::test_vulnerable_py_taint_catches_every_flow ... ok
[INFO] [stdout] test python::test_safe_py_no_findings ... ok
[INFO] [stdout] test output_formats::test_json_output_structure ... ok
[INFO] [stdout] test output_formats::test_sarif_output_valid ... ok
[INFO] [stdout] test pq_draft_standards_are_not_flagged ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 109 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.95s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_server.rs (/opt/rustwide/target/debug/deps/mcp_server-863f2e8826aadd10)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_mcp_scan_nonexistent_path ... ok
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stdout] test test_mcp_server_lifecycle ... ok
[INFO] [stdout] test test_mcp_scan_directory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.70s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/realistic_fixtures.rs (/opt/rustwide/target/debug/deps/realistic_fixtures-2388369baaf87ad7)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test realistic_next_app_multifile ... ok
[INFO] [stdout] test realistic_cli_tool ... ok
[INFO] [stdout] test realistic_express_api_multifile ... ok
[INFO] [stdout] test realistic_gin_chain_multihop ... ok
[INFO] [stdout] test realistic_django_chain_multihop ... ok
[INFO] [stdout] test realistic_django_views ... ok
[INFO] [stdout] test realistic_django_shop_multifile ... ok
[INFO] [stdout] test realistic_fastapi_app ... ok
[INFO] [stdout] test realistic_gin_service_multifile ... ok
[INFO] [stdout] test realistic_express_chain_multihop ... ok
[INFO] [stdout] test realistic_nextjs_handlers ... ok
[INFO] [stdout] test realistic_gin_app ... ok
[INFO] [stdout] test realistic_hono_app ... ok
[INFO] [stdout] test realistic_express_app ... ok
[INFO] [stdout] test realistic_flask_app ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rule_inventory.rs (/opt/rustwide/target/debug/deps/rule_inventory-98d2316dfb12d54e)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test website_rule_inventory_matches_generator_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/semgrep_integration.rs (/opt/rustwide/target/debug/deps/semgrep_integration-38cac4ec656dd783)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_semgrep_rule_metadata ... ok
[INFO] [stdout] test test_sql_injection_rule_does_not_match_percent_formatting ... ok
[INFO] [stdout] test test_no_false_positives_on_safe_code ... ok
[INFO] [stdout] test test_load_rules_from_directory ... ok
[INFO] [stdout] test test_hardcoded_secret_rule ... ok
[INFO] [stdout] test test_sql_injection_rule ... ok
[INFO] [stdout] test test_eval_usage_rule ... ok
[INFO] [stdout] test test_pattern_not_inside_support_on_fixture ... ok
[INFO] [stdout] test test_rule_paths_include_exclude ... ok
[INFO] [stdout] test test_metavariable_regex_support_on_fixture ... ok
[INFO] [stderr]      Running tests/semgrep_parity.rs (/opt/rustwide/target/debug/deps/semgrep_parity-2a9c2f02b0a38925)
[INFO] [stdout] test test_mixed_ast_and_regex_patterns ... ok
[INFO] [stdout] test test_pattern_regex_support_on_fixture ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_parity_pattern_inside ... ok
[INFO] [stdout] test test_parity_pattern_not_inside ... ok
[INFO] [stdout] test test_parity_binary_operator_and_metavariable_regex ... ok
[INFO] [stdout] test test_parity_paths_include_exclude ... ok
[INFO] [stdout] test test_parity_pattern_either ... ok
[INFO] [stdout] test test_parity_pattern_regex_and_not_regex ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests foxguard
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/rules/mod.rs - rules::impl_rule (line 30) ... ignored
[INFO] [stdout] test src/rules/mod.rs - rules::impl_rule (line 47) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d53d1af572bf0be49e63d0bd35da50746e81c17073016b63510eeba01e329ec6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d53d1af572bf0be49e63d0bd35da50746e81c17073016b63510eeba01e329ec6", kill_on_drop: false }`
[INFO] [stdout] d53d1af572bf0be49e63d0bd35da50746e81c17073016b63510eeba01e329ec6
